Set與Map不同再於Set沒有key,是指有包含值的特殊集合,且每個值只能出現一次不能重複。
Set的方法:
let set = new Set();
let a = 123;
let b = 456;
let c = 789;
set.add(a);
set.add(b);
set.add(c);
set.add(a); // add方法會忽略重複的值,所以才說Set中的值都是唯一的
console.log(set.size); // 3
for(let item of set) {
console.log(item); // 123 456 789
}
let array = [123,456,789]
let set = new Set();
let a = 123;
let b = 456;
let c = 789;
set.add(a);
set.add(b);
set.add(c);
// set轉為array
let setToArray = [...set]; // 或者 Array.from(set);
console.log(setToArray)
// array轉為set
let arrayToSet = new Set(array);
console.log(arrayToSet)
可以利用set中不會重複的特性,用來過濾array中重複的元素:
const array = [0,0,1,2,3,4,5,5,6,7];
const arrayToSet = new Set(array);
const uniqueArray = [...arrayToSet];
console.log(uniqueArray);